<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta
        name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
    >
    <meta
        http-equiv="X-UA-Compatible"
        content="ie=edge"
    >
    <title>几个基本的注意点</title>
    <script src="../vue.js"></script>
</head>

<body>
    <div id="root">
        <!--
			几个注意点：
					1.关于组件名:
								一个单词组成：
											第一种写法(首字母小写)：school
											第二种写法(首字母大写)：School
								多个单词组成：
											第一种写法(kebab-case命名)：my-school
											第二种写法(CamelCase命名)：MySchool (需要Vue脚手架支持)
								备注：
										(1).组件名尽可能回避HTML中已有的元素名称，例如：h2、H2都不行。
										(2).可以使用name配置项指定组件在开发者工具中呈现的名字。

					2.关于组件标签:
								第一种写法：<school></school>
								第二种写法：<school/>
								备注：不用使用脚手架时，<school/>会导致后续组件不能渲染。

					3.一个简写方式：
								const school = Vue.extend(options) 可简写为：const school = options
		-->
        <h1>{{ msg }}</h1>
        <hello></hello>
        <!--    <school/>-->
        <!--    <school/>-->
        <!--    <school/>-->
        <school></school>
        <school></school>
        <school></school>
    </div>



    <script type="text/javascript">
        Vue.config.productionTip = false;
        // 注册组件
        const s = Vue.extend({
            template: `
          <div>
            <h2>学校名称:{{ name }}</h2>
            <h2>学校地址:{{ address }}</h2>
          </div>
        `,
            data () {
                return {
                    name: '武汉科技大学',
                    address: '武汉'
                }
            },
            name: 'test' //该配置是指定组件在开发者工具中指定的名称
        });

        //创建组件的简写 (不需要vue.extend)
        const hello = {
            template: `
          <div>
            <h1>{{ msg }}</h1>
         </div>
        `,
            data () {
                return {
                    msg: "hello"
                }
            }
        }

        new Vue({
            el: "#root",
            data: {
                msg: '欢迎学习vue'
            },
            components: {
                school: s,
                hello
            }
        })
    </script>
</body>

</html>